package com.code.translate.enums;

import com.code.translate.function.ImageTranslatePlugin;
import com.code.translate.manager.PluginManager;

import java.util.ArrayList;
import java.util.List;

/**
 * @author ggh
 * @date 2022/10/16
 */
public enum ImageTranslateToolEnum {
    SOUGOU_IMAGE_TRANSLATE_PLUGIN(1, "搜狗翻译插件", PluginManager.sougouTranslatePlugin());
//    JINSHAN_TRANSLATE_PLUGIN(3, "金山词霸翻译插件", new JinshanTranslatePlugin()),
//    XUNFEI_TRANSLATE_PLUGIN(4, "科大讯飞翻译插件", new XunFeiTranslatePlugin());

    private int value;

    private String msg;

    private ImageTranslatePlugin imageTranslatePlugin;

    ImageTranslateToolEnum(int value, String msg, ImageTranslatePlugin translatePlugin) {
        this.value = value;
        this.msg = msg;
        this.imageTranslatePlugin = translatePlugin;
    }

    public static ImageTranslateToolEnum parse(int value) {
        for (ImageTranslateToolEnum translateToolEnum : values()) {
            if (translateToolEnum.getValue() == value) {
                return translateToolEnum;
            }
        }
        return null;
    }

    public static List<Integer> getValues() {
        ImageTranslateToolEnum[] translateToolEnums = values();
        List<Integer> values = new ArrayList<>(translateToolEnums.length);

        for (ImageTranslateToolEnum translateToolEnum : translateToolEnums) {
            values.add(translateToolEnum.getValue());
        }
        return values;
    }

    public int getValue() {
        return value;
    }

    public String getMsg() {
        return msg;
    }

    public ImageTranslatePlugin getImageTranslatePlugin() {
        return imageTranslatePlugin;
    }
}
